package com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.resistEarthquakesPE.service;

import com.css.fxfzfxqh.modules.buildingKilometerGrid.exceptions.BizException;
import com.css.fxfzfxqh.modules.buildings.calculationTasks.entity.CalculationTasks;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.param.AssessParam;
import com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.resistEarthquakesPE.entity.ResistEarthquakesPE;
import com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.resistEarthquakesPE.entity.ResistEarthquakesPECalculation;
import com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.resistEarthquakesPE.param.PETasksParam;
import com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.resistEarthquakesPE.param.ResistEarthquakesPECalculationParam;
import com.css.fxfzfxqh.modules.singleIndexRiskZoning.model.entity.FxqhAssessPdQhResult;

import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;

public interface ResistEarthquakesPEService {
    void addAssess(ResistEarthquakesPE param);

    ResistEarthquakesPE findById(String id);

    void upDateAssess(ResistEarthquakesPE param);

    String getCode(ResistEarthquakesPE param);

    Map<String, Object> getPage(int curPage, int pageSize, AssessParam param);

    void calculation(PETasksParam param) throws Exception;

    String reportImport(InputStream inputStream, String type, String id,String years);

    void exportData(HttpServletResponse response, ResistEarthquakesPECalculationParam param);

    Map<String, Object> queryCalculation( int curPage, int pageSize,String id, String years,String damageDegree);
    List<ResistEarthquakesPECalculation> queryCalculation1( String assessId);

    void updateCorrectionValue(ResistEarthquakesPECalculation param);

    List<FxqhAssessPdQhResult> doZoning(CalculationTasks calculationTasks) throws BizException, UnsupportedEncodingException;
}
